#include<bits/stdc++.h>
#include<cstring>
#define ll long long
#define lowbit(x) (x&(-x))
#define rep(a,b) for(int i=a;i<=b;i++)
#define rrep(a,b) for(int j=a;j<=b;j++)
#define pre(a,b) for(int i=a;i>=b;i--)
#define ppre(a,b) for(int j=a;j>=b;j--)
#define ac puts("Yes")
#define wa puts("No")
#define pb push_back
#define PII pair<int,int>
using namespace std;
const int mod1=998244353;
const int mod2=1e9+7;
const int N=2e5+10;
bool st[N]={1,1};
ll a[N],k;
void ol(){
for(int i=2;i<=100010;i++){
if(!st[i])a[++k]=i;
for(int j=1;j<=k;j++){
if(i*a[j]>100010)break;
st[i*a[j]]=1;
if(i%a[j]==0)break;
}
}
}
ll b[N],id[N];
int main(){
ol();
int n,k;
cin>>n;
if(n<3)k=1;
else k=2;
cout<<k<<endl;
cout<<1<<" ";
rep(3,n+1)
if(!st[i])cout<<1<<" ";
else cout<<2<<" ";
return 0;
}
1630C - Paint the Middle | 1630D - Flipping Range |
1328A - Divisibility Problem | 339A - Helpful Maths |
4A - Watermelon | 476A - Dreamoon and Stairs |
1409A - Yet Another Two Integers Problem | 977A - Wrong Subtraction |
263A - Beautiful Matrix | 180C - Letter |
151A - Soft Drinking | 1352A - Sum of Round Numbers |
281A - Word Capitalization | 1646A - Square Counting |
266A - Stones on the Table | 61A - Ultra-Fast Mathematician |
148A - Insomnia cure | 1650A - Deletions of Two Adjacent Letters |
1512A - Spy Detected | 282A - Bit++ |
69A - Young Physicist | 1651A - Playoff |
734A - Anton and Danik | 1300B - Assigning to Classes |
1647A - Madoka and Math Dad | 710A - King Moves |
1131A - Sea Battle | 118A - String Task |
236A - Boy or Girl | 271A - Beautiful Year |